#ifndef H_Image
#define H_Image
#include <vector>
#include "Pixel.hpp"
#include "Util.hpp"
#include <opencv/highgui.h>
#include <opencv/cv.h>
using namespace std;
class Image
{
  private:
    int m_x, m_y;
    int m_coul;
    int m_height;
    int m_width;
    Pixel** m_image;
    double m_moyenne;
  public :
    Image();
    Image(int x,int y,int h,int w,Pixel** image);
    Image(IplImage *image);
    void detruireImage();
    void RemplirImage(int pixel);
    bool IsHomogene();
    bool IsAdjacent( const Image &image);
    bool isRessemblant( const Image &image);
    void split(vector <Image>&v);
    bool IsSmal();
    int getX()const{ return m_x;}
    int getY()const{return m_y;}
    int getheight()const{ return m_height;}
    int getwidth()const{return m_width;}
    double getMoyenne()const ;
};
#endif
